namespace Jonathan.Classes
{
	/// <summary>
	/// Interface used by the webber to run serval routines in the readers.
	/// </summary>
    public interface IWebberHost
    {
		/// <summary>
		/// Selects the given word in the reference list.
		/// </summary>
		/// <param name="word">Word to Select.</param>
		/// <param name="tryContains">Tries to see if one of the ref words contains the given word</param>
		/// <returns>True if Selected, otherwise false.</returns>
        bool SelectRefWord (string word, bool tryContains);

		/// <summary>
		/// Gets the Context Menu for the Webber to display.
		/// </summary>
		/// <returns></returns>
        System.Windows.Forms.ContextMenuStrip GetContextMenu ();

        /// <summary>
        /// Gets the Current Book...
        /// </summary>
        string Book { get; }

        /// <summary>
        /// Get the name of the given version...
        /// </summary>
        /// <param name="version">Version Index.</param>
        /// <returns>Version Name.</returns>
        string GetVersion (int version);

        /// <summary>
        /// Gets the Path of the given version
        /// </summary>
        /// <param name="version">Version Index.</param>
        /// <returns>Version Path.</returns>
        string GetVersionPath (int version);

        /// <summary>
        /// Gets the TabberPage associated with the host...
        /// </summary>
        /// <returns>TabberPage</returns>
        Tabber.TabberPage GetTabPage ();
    }
}
